package com.atguigu.tingshu.search.service;

import com.atguigu.tingshu.model.search.AlbumInfoIndex;
import com.atguigu.tingshu.query.search.AlbumIndexQuery;
import com.atguigu.tingshu.vo.search.AlbumInfoIndexVo;
import com.atguigu.tingshu.vo.search.AlbumSearchResponseVo;

import java.util.List;
import java.util.Map;

public interface SearchService {


    /**
     * 根据id上传专辑功能
     * @param albumId
     */
    void upperAlbum(Long albumId);


    /**
     * 根据id下架专辑功能
     * @param albumId
     */
    void lowerAlbum(Long albumId);


    /**
     * 检索
     * @param albumIndexQuery
     * @return
     */
    AlbumSearchResponseVo search(AlbumIndexQuery albumIndexQuery);


    /**
     * 根据一级分类id，获取置顶到频道页的三级分类的热门数据
     */
    List<Map<String, Object>> channel(Long category1Id);

    /**
     * 关键字自动补全功能
     */
    List<String> completeSuggest(String keyword);

    /**
     * 更新排行榜
     */
    void updateLatelyAlbumRanking();

    /**
     * 获取排行榜
     * @param category1Id
     * @param ranking
     * @return
     */
    List<AlbumInfoIndex> findRankingList(Long category1Id, String ranking);
}
